モバイルアプリではAPI Keyを直接使うのは推奨されない(Google APIは別)
#ReactNative
参考.iconhttps://forums.expo.dev/t/hiding-third-party-api-keys-create-react-native-app/401
説明
これは「ハードコーディングをしない」とかそういう問題じゃない。
アプリ自体でAPI Keyを使っちゃいけないってこと。
何故ダメなのかというと「リバースエンジニアリング」される恐れがあるから。
リバースエンジニアリングされてしまうと、どんな手を使ってもコードの中身がバレてしまう。
なのでAPI Keyをコードの中で使ってしまった時点で終わりってこと。
それじゃあ...「モバイルアプリからAPIを利用するな」てこと??
そうじゃない、そんなモバイルアプリ誰が使うの。
どうやら解決策はあるらしい。
以下の記事を参考にするとよろしい。
Hiding Secrets in Android Apps(注:Androidアプリ)
Google APIはそこまでしなくて良いらしい
参考)https://teratail.com/questions/59248
APIを利用するリファラを制限する機能がGoogle APIには用意されてる。
なので、その機能を使えばAPI Keyを盗まれたとしても、盗用者が利用できないようになってる。
https://scrapbox.io/files/6161386a936f20001dfeebbe.png
iOSの場合)
Bundle IDの設定を見て、APIを使ってきてるAppの識別してる
Androidの場合)
fingerprintを利用して、APIを使ってきてるAppの識別してる